<?php defined('SYSPATH') or die('No direct script access.');

class Controller_Subscribe extends Controller_Common {

	public $template='layout/index';

	public function sendEmail($newSubscriber) {
	    $config = Kohana::$config->load('email');
	    Email::connect($config);
	    $to = $newSubscriber->email; // Может быть массивом
	    $subject = 'Вы подписались на рассылку на '.$_SERVER['SERVER_NAME'];
	    $from = 'noreply@'.$_SERVER['SERVER_NAME'];

	    $message = '
	    	<div>
	    		Для того что бы отписаться от рассылки пройдите по адресу: <br />
	    		<a href="http://'.$_SERVER['SERVER_NAME'].'/subscribe/unsubscribe?email='.$newSubscriber->email.'">
                	http://'.$_SERVER['SERVER_NAME'].'/subscribe/unsubscribe?email='.$newSubscriber->email.'
				</a>
	    	</div>
	    ';

	    Email::send($to, $from, $subject, $message, $html = true);
	}

	public function action_subscribe() {
		if ($this->request->is_ajax()) {
			$post = new Validation($_POST);
			$post->rule(TRUE, 'not_empty')
				->rule('email', 'email');

			if ($post->check()) {
				$newSubscriber = ORM::factory('Subscribers');
				$newSubscriber->name = $this->request->post('email');
				$newSubscriber->email = $this->request->post('email');
			} else {
				echo json_encode(array('status' => 'error', 'data' => 'Проверьте правильность заполнения полей'));
				die();
			}

			try {
				$newSubscriber->save();
			} catch (Exception $e) {
				echo json_encode(array('status' => 'error', 'data' => 'Этот email адрес уже подписан'));
				die();
			}

			$this->sendEmail($newSubscriber);

			echo json_encode(array('status' => 'ok', 'data' => 'Спасибо, вы успешно подписались на нашу рассылку'));
			die();
		}
		else {
			throw new HTTP_Exception_404('Page not found');
		}
	}

	public function action_unsubscribe() {
		ORM::factory('Subscribers', array('email' => $_GET['email']))->delete();

		$this->buildCarcas();
		$this->template->content = '
	    	<div class="body_cont">
	    		<h2>Отписка от рассылки</h2>
	    		<div>Email '.$_GET['email'].' больше не учавствует в рассылке новостей</div>
	    	</div>
	    ';
	}
}